<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>无限的loading动画</title>
    <style>
        * {
            margin: 0;
            padding: 0;
          }
          body {
            background: #333;
            display: flex;
            width: 100%;
            height: 100vh;
            justify-content: center;
            align-items: center;
          }
          .main {
            display: flex;
            justify-content: center;
            align-items: center;
            transform: translateX(-25%);
          }
          .main::after,
          .main::before {
            content: "";
            width: 100px;
            height: 100px;
            box-sizing: border-box;
            border: 10px solid #57606f;
            border-radius: 50%;
            position: absolute;
            z-index: -1;
          }
          .main::before {
            transform: translateX(calc(100% - 10px));
          }
          .main > div {
            position: absolute;
            width: 100px;
            height: 100px;
            clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
          }
          .main > div > div {
            width: 100px;
            height: 100px;
            box-sizing: border-box;
            border-style: solid;
            border-color: #1e90ff #1e90ff transparent transparent;
            border-width: 10px;
            border-radius: 50%;
            position: absolute;
            transform: rotate(135deg);
            animation: roll 4s linear infinite;
          }
          @keyframes roll {
            100%,50% {
              transform: rotate(495deg);
            }
          }
          .rb,
          .rt{
            transform: translateX(calc(100% - 10px))
          }
          .lb {
            transform: scale(-1, -1);
        }
          .rb {
            transform: translateX(calc(100% - 10px)) scale(1, -1);
          }
           .rt {
            transform: translateX(calc(100% - 10px)) scale(-1, 1);
          }
          .main > .rb > div {
            animation-delay: 1s;
          }
        .main > .rt > div {
            animation-delay: 2s;
          }
          .main > .lb > div {
            animation-delay: 3s;
          }
    </style>
</head>
<body>
    <div class="main">
        <div class="lt">
            <div></div>
        </div>
        <div class="lb">
            <div></div>
        </div>
        <div class="rt">
            <div></div>
        </div>
        <div class="rb">
            <div></div>
        </div>
    </div>
</body>
</html>